package com.lvtu.monitor.module.web.schedule;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

import org.apache.log4j.Logger;
import com.taobao.pamirs.schedule.IScheduleTaskDealSingle;
import com.taobao.pamirs.schedule.TaskItemDefine;

/** 
* @Title: ScheduleStategyDemo.java 
* @Package com.lvtu.monitor.module.web.schedule 
* @Description:Schedule类型策略的实例  
* @author xuqianmeng 
* @date 2015年8月6日 上午10:43:24 
* @version V1.0.0 
*/
public class ScheduleStategyDemo implements IScheduleTaskDealSingle<String> {
	
	private final static Logger logger = Logger
			.getLogger(ScheduleStategyDemo.class);

	/** 
	* @Description: 根据条件，查询当前调度服务器可处理的任务	
	* @param taskParameter 任务的自定义参数
	* @param ownSign 当前环境名称
	* @param taskItemNum 当前任务类型的任务队列数量
	* @param taskItemList 当前调度服务器，分配到的可处理队列
	* @param eachFetchDataNum 每次获取数据的数量
	* @return
	* @throws Exception
	* @author xuqianmeng 
	* @date 2015年8月5日 下午8:56:03 
	*/
	@Override
	public List<String> selectTasks(String taskParameter, String ownSign,
			int taskItemNum, List<TaskItemDefine> taskItemList,
			int eachFetchDataNum) throws Exception {
		logger.info("selectTasks");
		List<String> result = new ArrayList<String>();
		result.add("test");
		return result;
	}

	/** 
	* @Description: 获取任务的比较器,只有在NotSleep模式下需要用到
	* @return
	* @author xuqianmeng 
	* @date 2015年8月5日 下午8:57:23 
	*/
	@Override
	public Comparator<String> getComparator() {
		logger.info("getComparator");
		return null;
	}

	/** 
	* @Description: 执行单个任务 
	* @param task  任务
	* @param ownSign 当前环境名称
	* @return
	* @throws Exception
	* @author xuqianmeng 
	* @date 2015年8月5日 下午8:58:43 
	*/
	@Override
	public boolean execute(String task, String ownSign) throws Exception {
		logger.info("execute");
		return true;
	}

}
